Real-time auditing of industrial equipment condition

ABSTRACT

A system comprising a computer-readable storage medium storing at least one program and a method for real-time auditing of industrial equipment conditions is presented. A user interface comprising a table view of condition factor scores associated with industrial equipment is presented. Each of the condition factor scores provides a measure of a factor that impacts an overall functional state of the industrial equipment. An editor window operable to edit a condition factor score from among the condition factor scores is presented within the user interface. A user edit to the condition factor score is received via the editor window. The table view is updated based on the user edit.

PRIORITY CLAIM

This application is a continuation of U.S. patent application Ser. No.15/608,562, filed on May 30, 2017, which claims the benefit of priorityof U.S. Provisional Application Ser. No. 62/459,514, titled “REAL-TIMEAUDITING OF INDUSTRIAL EQUIPMENT CONDITION,” filed on Feb. 15, 2017,both of which are hereby incorporated by reference in their entireties.

TECHNICAL FIELD

The subject matter disclosed herein relates to real-time monitoring ofconditions of industrial equipment. In particular, example embodimentsrelate to systems and methods for analyzing data associated withindustrial equipment to derive qualitative measures of industrialequipment conditions and provide user interfaces (UIs) to present thederived qualitative measures of industrial equipment conditions.

BACKGROUND

Industrial equipment (e.g., machinery) is often equipped with sensors toprovide insights regarding the ongoing performance and condition of theequipment to aid in decisions regarding maintenance and replacement ofsuch equipment. Each piece of equipment may have several differentsensors, each of which is responsible for providing output data relatedto different functional aspects of the equipment. Given the largequantity of sensor data output for each piece of equipment, it is oftendifficult to accurately interpret and understand the data that isoutput. For example, conventional methods involve performingcalculations using the sensor data in accordance with a standard rubric.However, the conventional methodologies are very time consuming, andtheir result is simply a snapshot of the condition of the equipment atthe time of the particular sensor data used in the calculations. As aresult, the insights gained from the application of these conventionalmethodologies do not reflect the current condition of the equipmentbeing analyzed.

Additionally, industrial equipment is often subject to periodic reviews(e.g., annual or quarterly) to assess performance and condition of theequipment. During such reviews, the condition of the equipment isevaluated to determine whether repairs or maintenance need to occur toavoid potentially lengthy downtime of the equipment due to wear ordamage. The conventional review process again involves performingcalculations using the sensor data in accordance with a standard rubric.However, it is often difficult to manually collect the sensor data, andthe calculations of the conventional methodologies are often too complexto produce results that are both accurate and timely. Further, in manyinstances, it is important for a decision maker (e.g., a human taskedwith maintaining equipment in a proper working order) to understand howsensor data output is used in the calculations and what the exact valuesare, though the conventional methodologies typically do not provide aconvenient way for the decision makers to do this. Making decisionsregarding maintenance and replacement of equipment without an accurateunderstanding of the current condition of the equipment and thecalculations used to assess the current condition may ultimatelycompromise the health and longevity of the equipment.

BRIEF DESCRIPTION OF THE DRAWINGS

Various ones of the appended drawings merely illustrate exampleembodiments of the present inventive subject matter and cannot beconsidered as limiting its scope.

FIG. 1 is an architecture diagram depicting a data processing platformhaving a client-server architecture configured for exchanging data,according to some embodiments.

FIG. 2 is a block diagram illustrating various modules comprising areal-time auditing system, which is provided as part of the dataprocessing platform, consistent with some embodiments.

FIGS. 3-7 are flowcharts illustrating example operations of thereal-time auditing system in performing a method for providingqualitative measures of an industrial equipment's condition, accordingto some embodiments.

FIG. 8 is a flowchart illustrating a method for processing usersubmitted comments associated with condition data of industrialequipment, according to some embodiments.

FIG. 9 is a flowchart illustrating a method for providing an aggregateview of condition data associated with a set of industrial equipment,according to some embodiments.

FIG. 10 is an interface diagram illustrating a portion of a userinterface (UI) that includes a table view of condition factor scoresassociated with a set of industrial equipment, according to some exampleembodiments.

FIG. 11 is an interface diagram illustrating a portion of a UI forreceiving and displaying textual comments related to a condition factorscore, according to some embodiments.

FIG. 12 is an interface diagram illustrating a portion of a UI forpresenting aggregate condition data associated with a facility thatincludes a set of industrial equipment, according to some embodiments.

FIG. 13 is an interface diagram illustrating a portion of a UI forpresenting aggregate condition data associated with an asset thatincludes a set of facilities, according to some embodiments.

FIG. 14 is an interface diagram illustrating a portion of a UI forpresenting aggregate condition data associated with a region thatincludes a set of assets, according to some embodiments.

FIG. 15 is an interface diagram illustrating a portion of a UI thatincludes a table view of condition factor scores associated with a setof industrial equipment, according to some example embodiments.

FIG. 16 is an interface diagram illustrating a portion of a UI forfacilitating manual edits to condition factor scores and receivingcomments related to a condition factor score, according to someembodiments.

FIG. 17 is an interface diagram illustrating a portion of a UI thatincludes a detailed view of condition factor scores associated with aset of industrial equipment, according to some example embodiments.

FIG. 18 is an interface diagram illustrating a portion of a UI thatincludes a drop-down menu having multiple filter selections forfiltering condition factor scores displayed in the table view, accordingto some example embodiments.

FIG. 19 is an interface diagram illustrating a portion of a UI thatincludes a calculation methodology, according to some exampleembodiments.

FIG. 20 is an interface diagram illustrating a portion of a UI thatincludes calculation criteria, according to some example embodiments.

FIG. 21 is a diagrammatic representation of a machine in the exampleform of a computer system within which a set of instructions for causingthe machine to perform any one or more of the methodologies discussedherein may be executed.

DETAILED DESCRIPTION

Reference will now be made in detail to specific example embodiments forcarrying out the inventive subject matter. Examples of these specificembodiments are illustrated in the accompanying drawings, and specificdetails are set forth in the following description in order to provide athorough understanding of the subject matter. It will be understood thatthese examples are not intended to limit the scope of the claims to theillustrated embodiments. On the contrary, they are intended to coversuch alternatives, modifications, and equivalents as may be includedwithin the scope of the disclosure.

Aspects of the present disclosure relate to a system and methods forreal-time monitoring of industrial equipment conditions. A real-timeauditing system collects and consumes source data from sensors coupledto equipment (e.g., a machine or set of machines) and fromhuman-generated reports (e.g., maintenance reports). The real-timeauditing system uses the source data to determine conditions (e.g., astate of working order) of the equipment in real-time. The conditionsare determined in “real-time” such that they are determined as thesource data changes (e.g., as the sensor output changes). Morespecifically, the real-time auditing system analyzes the source data tocompute scores related to various factors that impact the overallequipment condition. The factors that impact the overall equipmentcondition are referred to herein as “condition factors,” and the scoresrelated thereto are, accordingly, referred to herein as “conditionfactor scores.” Each computed condition factor score provides aqualitative and quantitative measure of a functional aspect of theequipment condition. Using the condition factor scores, the real-timeauditing system also determines an overall condition score that providesa qualitative and quantitative measure of an overall functional state ofthe equipment.

Additional aspects of the real-time auditing system involve UIs forpresenting an overview of the condition factors of equipment along withthe associated condition factor score of each piece of equipment. TheUIs are configured to present the condition factor scores in twoviews: 1) a table view and 2) a detailed view. The table view includespresentation of condition factor scores for each condition factor foreach piece of equipment in a simple table. The detailed view includesthe condition factor scores for each condition factor for each piece ofequipment along with detailed information related to how each score wasderived. For example, for a particular condition factor score, thedetailed view may include a presentation of any underlying formulas usedto compute the score along with the variable values (e.g., sensor datavalues) used to generate the condition factor scores from the formulas.By providing the derivation information within the detailed view, thereal-time auditing system allows for conditions of industrial equipmentto be easily audited in real-time (e.g., as the conditions of theequipment change).

Additionally, the UIs allow users to filter and sort the presentation ofcondition factor scores by condition factors, condition factor values,equipment types, equipment features, and equipment locations. The UIsalso provide users with a user guide that users may access to obtain thecalculation methodology used in calculating any one of the conditionfactor scores. The UIs allow users to manually edit condition factorscores and create notes (e.g., textual or audio) to associate withedited scores.

The UIs also includes multiple views for presenting aggregate conditiondata (e.g., overall condition scores and condition factor scores)associated with sets of equipment. For example, the UIs may include aview for presenting aggregate condition data associated with a facility(e.g., a manufacturing facility) that includes a set of equipment. Asanother example, the UIs may include a view for presenting aggregatecondition data associated with an asset that includes multiplefacilities, each of which includes a set of equipment. As yet anotherexample, the UIs may include a view for presenting aggregate conditiondata associated with a region (e.g., a geographic region) that includesmultiple assets as well as a global view that aggregates condition datafrom multiple regions. Accordingly, the real-time monitoring system mayfind application in monitoring a variety of industrial equipment thatoperates in a variety of industrial contexts, including manufacturingand processing facilities such as consumer product manufacturingfacilities, chemical plants, oil drilling platforms, oil refineries,drug manufacturing facilities, aircraft manufacturing facilities,automotive manufacturing facilities, and the like.

FIG. 1 is an architecture diagram depicting a network system 100 havinga client-server architecture configured for exchanging data, accordingto an example embodiment. While the network system 100 shown in FIG. 1may employ a client-server architecture, the present inventive subjectmatter is, of course, not limited to such an architecture, and couldequally well find application in an event-driven, distributed, orpeer-to-peer architecture system, for example. Moreover, it shall beappreciated that although the various functional components of thenetwork system 100 are discussed in the singular sense, multipleinstances of one or more of the various functional components may beemployed.

As shown, the network system 100 includes a real-time auditing system102, a device 104, and a third-party computing system 106, allcommunicatively coupled to each other via a network 108. The real-timeauditing system 102 may be implemented in a special-purpose (e.g.,specialized) computer system, in whole or in part, as described below.

Also shown in FIG. 1 is a user 110, who may be a human user (e.g., ahuman being), a machine user (e.g., a computer configured by a softwareprogram to interact with the device 104), or any suitable combinationthereof (e.g., a human assisted by a machine or a machine supervised bya human). The user 110 is associated with the device 104 and may be auser of the device 104. For example, the device 104 may be a desktopcomputer, a vehicle computer, a tablet computer, a navigational device,a portable media device, a smart phone, or a wearable device (e.g., asmart watch, smart glasses, smart clothing, or smart jewelry) belongingto the user 110.

The device 104 may also include any one of a web client 112 orapplication 114 to facilitate communication and interaction between theuser 110 and the real-time auditing system 102. In various embodiments,information communicated between the real-time auditing system 102 andthe device 104 may involve user-selected functions available through oneor more user interfaces (UIs). The UIs may be specifically associatedwith the web client 112 (e.g., a browser) or the application 114.Accordingly, during a communication session with the device 104, thereal-time auditing system 102 may provide the device 104 with a set ofmachine-readable instructions that, when interpreted by the device 104using the web client 112 or the application 114, cause the device 104 topresent a UI, and transmit user input received through such an UI backto the real-time auditing system 102. As an example, the UIs provided tothe device 104 by the real-time auditing system 102 allow users to viewinformation that is updated in real-time describing conditions ofequipment (e.g., the information is updated as the conditions change).

The network 108 may be any network that enables communication between oramong systems, machines, databases, and devices (e.g., between real-timeauditing system 102 and the device 104). Accordingly, the network 108may be a wired network, a wireless network (e.g., a mobile or cellularnetwork), or any suitable combination thereof. The network 108 mayinclude one or more portions that constitute a private network, a publicnetwork (e.g., the Internet), or any suitable combination thereof.Accordingly, the network 108 may include one or more portions thatincorporate a local area network (LAN), a wide area network (WAN), theInternet, a mobile telephone network (e.g., a cellular network), a wiredtelephone network (e.g., a plain old telephone system (POTS) network), awireless data network (e.g., a WiFi network or WiMax network), or anysuitable combination thereof. Any one or more portions of the network108 may communicate information via a transmission medium. As usedherein, “transmission medium” refers to any intangible (e.g.,transitory) medium that is capable of communicating (e.g., transmitting)instructions for execution by a machine (e.g., by one or more processorsof such a machine), and includes digital or analog communication signalsor other intangible media to facilitate communication of such software.

Also shown in FIG. 1 are sensors 116 coupled to industrial equipment118. The industrial equipment 118 may, for example, be a machine, a setof machines, or other physical components that operate within anindustrial context to perform a particular industrial purpose. Forexample, the equipment 118 may be an assembly line or component of anassembly line operating in a manufacturing facility. The sensors 116 maybe, or include, any of a variety of types of sensors that produce outputdata that include measurements of various operational aspects (e.g.,functional attributes) of the industrial equipment 118. Depending on thetype of the industrial equipment 118, the operational aspects may, forexample, include engine or motor speed, torque, valve positions,precooler temperatures, deceleration, acceleration, pH, moisture, flowrate, altitude, depth/level, or flux (e.g. energy flux, heat flux,diffusion flux, volumetric flux, mass flux). A set of output data fromeach of the sensors 116 is collected by the real-time auditing system102 either directly from the sensors 116 (e.g., via machine interface)or from the third-party computing system 106, which may also be indirect communication with the sensors 116.

FIG. 2 is a block diagram illustrating various modules comprising thereal-time auditing system 102, consistent with some embodiments. Toavoid obscuring the inventive subject matter with unnecessary detail,various functional components (e.g., modules, engines, and databases)that are not germane to conveying an understanding of the inventivesubject matter have been omitted from FIG. 2. However, a skilled artisanwill readily recognize that various additional functional components maybe supported by the real-time auditing system 102 to facilitateadditional functionality that is not specifically described herein. Asshown, the real-time auditing system 102 includes: an interface module200; a data retrieval module 202; a calculation engine 204; a listenermodule 206; an edit/comment module 208; a user guide module 210; and adatabase 212. Each of the above referenced functional components of thereal-time auditing system 102 are configured to communicate with eachother (e.g., via a bus, shared memory, a switch, or applicationprogramming interfaces (APIs)).

The interface module 200 receives requests from the device 104, andcommunicates appropriate responses to the device 104. The interfacemodule 200 may receive requests from devices in the form of HypertextTransfer Protocol (HTTP) requests or other web-based, API requests. Forexample, the interface module 200 provides a number of interfaces (e.g.,APIs or UIs that are presented by the device 104) that allow data to bereceived by the real-time auditing system 102.

The interface module 200 also provides UIs to devices (e.g., device 104)that include graphical representations of various analytics and otheroutput produced by the real-time auditing system 102. To provide a UI tothe device 104, the interface module 200 transmits a set ofmachine-readable instructions to the device 104 that causes the device104 to present the UI on a display of the device 104. The set ofmachine-readable instructions may, for example, include presentationdata (e.g., representing the UI) and a set of instructions to displaythe presentation data. The device 104 may temporarily store thepresentation data to enable display of the UI.

The UIs provided by the interface module 200 may include various graphs,tables, charts, and other graphics used, for example, to presentcondition data describing the working state of equipment. The interfacesmay also include various input control elements (e.g., sliders, buttons,drop-down menus, check-boxes, and data entry fields) that allow users tospecify various inputs, and the interface module 200 receives andprocesses user input received through such input control elements.

The UIs provided by the interface module 200 may include multiple“views” for presenting condition data to users along with a selectableelement (e.g., a toggle) to switch between views. For example, the UIsprovided by the interface module 200 may include a table view and adetailed view of condition data along with a toggle to switch betweenthe table view and the detailed view. The table view includes a table inwhich the rows correspond to condition factors, the columns correspondto individual pieces of industrial equipment, and each entry in thetable includes a condition factor score for the corresponding conditionfactor and individual instance of industrial equipment. The detailedview includes, for each piece of industrial equipment included in thetable view, a condition factor score for each condition factor alongwith derivation information associated with each condition factor score.The derivation information includes underlying information used ingenerating a condition factor score. For example, the derivationinformation may include one or more variable values (e.g., correspondingto a sensor output value) used in calculating the score as well one ormore formulas used to generate the score with the one or more variablevalues. Using the toggle button, a viewing user can easily switchbetween the table view and the detailed view from within the UI.

As shown, the interface module 200 includes a filter/sort module 201configured to filter and sort condition data presented within UIs. Thefilter/sort module 201 may filter and/or sort information in accordancewith user selections made via interactive elements (e.g., buttons,drop-down menus, check-boxes or combinations thereof) displayed inconjunction with the condition data. For example, the UIs may includeselectable elements that allow the user to filter and/or sortinformation based on any one of condition factor, condition factorscore, equipment type, equipment attributes, and equipment location(e.g., facility in which the equipment is located). Depending on thefilters selected, the filtering of the condition data may include addingor removing one or more condition factor scores. Depending on thespecified sorting selection, the sorting of the condition data mayinclude displaying condition factor scores in a particular order (e.g.,ascending or descending order), particular grouping (e.g., conditionfactor scores corresponding to equipment of the same type may be groupedtogether), or combinations of both. Examples of the UIs provided by theinterface module 200 (e.g., to the device 104) are discussed below inreference to FIGS. 7-20.

The data retrieval module 202 is configured to retrieve and integratesource data (e.g., sensor data and report data) for analysis in thereal-time auditing system 102. The source data obtained by the dataretrieval module 202 includes: sensor data corresponding to data outputby one or more sensors 116 coupled to the industrial equipment 118; andreport data comprising information (e.g., human-generated information)describing operational aspects of the industrial equipment 118.Accordingly, in some instances, the data retrieval module 202 mayretrieve sensor data through appropriate requests submitted to one ormore machine interfaces of the sensors 116 that provide a direct link tothe output of the sensors 116. In some instances, the data retrievalmodule 202 retrieves source data from the third-party computing system106 through appropriate requests (e.g., API requests or calls)transmitted over the network 108. The data may be retrieved by the dataretrieval module 202 on a constant basis or as changes to the data aredetected.

In integrating the source data into the real-time auditing system 102,the data retrieval module 202 performs operations including cleaning,extracting, transforming, and translating raw data, and creating a dataobject for each instance of equipment (e.g., an individual machine)included in the source data. Each data object, which may be referred toas an “equipment data object,” is a data structure (e.g., a table) thatincludes information describing the equipment, such as: an equipmentidentifier, a designator of equipment type, equipment age, equipmentlocation (e.g., a particular facility, asset, or region in which theequipment resides), and current and historic condition data of theequipment. The source data that is retrieved and integrated into thereal-time auditing system 102 is stored in the database 212 forsubsequent processing and analysis by the real-time auditing system 102.

The calculation engine 204 is configured to analyze source data toderive condition data (e.g., individual condition factor scores and anoverall condition score) describing various aspects of the condition ofequipment. More specifically, the calculation engine 204 uses the sourcedata to compute condition factor scores, each of which provides ameasure (both qualitative and quantitative) of a condition factor thatimpacts an overall functional state of the industrial equipment 118. Inother words, the condition factor score provides a measure of an aspectof equipment condition. In computing each condition factor score, thecalculation engine 204 accesses a predefined formula or set of formulascorresponding to the particular condition factor score being computed.The calculation engine 204 then evaluates the formula or set of formulasusing a portion of the source data (e.g., specific sensor data or reportdata corresponding to one or more variables included in the formula).Each computed condition factor score is stored in the database 212(e.g., as part of the equipment data object) with a timestamp so as tomaintain a record of current and historic condition factor scoresassociated with the industrial equipment 118.

The calculation engine 204 is further configured to derive informationrelated to the overall condition of the industrial equipment 118. Inparticular, the calculation engine 204 computes an overall conditionscore for the industrial equipment 118 that provides a measure (that isboth qualitative and quantitative) of an overall functional state (e.g.,an overall condition) of the industrial equipment 118. The calculationengine 204 computes the overall condition score by aggregating thecondition factor scores computed for the industrial equipment 118. Forexample, in calculating the overall condition score for the industrialequipment 118, the calculation engine 204 may compute a weighted averageof the condition factor scores. More specifically, in this example, thecalculation engine 204 may apply a predefined weight to each conditionfactor score (e.g., by multiplying the weight to the condition factorscore) based on the relative impact of the corresponding conditionfactor to the overall condition. Once the weight is applied to eachcondition factor score, the calculation engine 204 may compute theaverage of the weighted values to produce the overall condition score.

The calculation engine 204 is further configured to compute aggregatecondition data for various sets of industrial equipment. For example,the calculation engine 204 may compute aggregate condition data for afacility that includes a set of industrial equipment, an asset thatincludes a set of facilities, or a region that includes a set of assets.The aggregate condition data includes an overall aggregate conditionscore as well as one or more aggregate condition factor scores.Accordingly, in calculating aggregate condition data, the calculationengine 204 may aggregate respective condition factor scores (e.g., thecondition factor score of each piece of equipment) corresponding to eachcondition factor to compute aggregate condition factor scores. Thecalculation engine 204 may further aggregate respective overallcondition scores (e.g., the overall condition factor score of each pieceof equipment) to compute an overall aggregate condition score.

The listener module 206 is configured to monitor incoming source data todetect any changes thereto. The listener module 206 detects changes tosource data by comparing current source data to previous source data,and based on the comparison, determines whether a difference exists. Forexample, the listener module 206 may detect a change in value of sensordata produced by the sensors 116 by comparing current values in thesensor data to previous values in the sensor data and determining, basedon the comparison, whether a difference exists between the two. Inresponse to detecting a change to the source data, the listener module206 causes the calculation engine 204 to dynamically re-compute one ormore impacted condition factor scores. In other words, the listenermodule 206 causes the calculation engine 204 to compute one or moreupdated condition factor scores based on a detected difference inupdated source data.

The edit/comment module 208 is responsible for processing user edits andcomments related to condition data of the industrial equipment 118. Tothis end, the edit/comment module 208 may work in conjunction with theinterface module 200 to display a comment component (e.g., a window),which is an interface element operable to provide further informationabout a particular condition factor score and receive user commentsrelated to the condition factor score, or an editor component (e.g., awindow), which is an interface element operable to receive user editsand comments related to condition factor scores. The comment and editorcomponents both include a field for users to submit comments, and theeditor component further provides interactive elements (e.g., adrop-down menu) to enable users to manually edit condition factorscores. The user comments may, for example, be in the form of text,image, audio, or video. The user comments may be related to an edit to acondition factor score or an overall condition score of a single pieceof industrial equipment or a set of industrial equipment. Theedit/comment module 208 updates scores based on the received user editsand stores each user comment in the database 212 with an association tothe applicable piece of industrial equipment or set of industrialequipment. Additionally, the edit/comment module 208 works inconjunction with the interface module 200 to present the received usercomments in the comment component. Depending on the type of commentreceived, the presentation of the comment may include displaying atextual comment, displaying all or part of a video file or image, orpresenting all or part of an audio file.

In some embodiments, the UIs provided by the interface module 200include a selectable element that allows users to access a user guideprovided by the user guide module 210. The user guide module 210 maywork in conjunction with the interface module 200 to provide the userguide in response to selection of the selectable element. The user guideprovided by the user guide module 210 comprises calculation criteria210A and calculation methodology 210B. The calculation criteria 210Aspecifies criteria used to determine the condition factor scores andhazard levels. For example, the calculation criteria may specify howunderlying values (e.g., resulting from intermediate calculations) mapto particular condition factor scores. The calculation methodology 210Bspecifies assumptions, formulas, and methods used to determine conditionfactor scores. Further details regarding the user guides provided by theuser guide module 210 are illustrated in FIGS. 19 and 20 and discussedbelow in reference thereto, according to some example embodiments.

The database 212 is a network-accessible machine-readable storagemedium. In addition to storing the equipment object corresponding to theindustrial equipment 118, the database 212 stores equipment objects formultiple other pieces of equipment that may be distributed acrossmultiple facilities, assets, and regions. Each equipment object includesinformation describing the equipment such as equipment identifiers,equipment age, equipment locations (e.g., facility, asset, or region),current and historic condition factor scores, and current and historicoverall condition scores.

As is understood by skilled artisans in the relevant computer andInternet-related arts, each functional component (e.g., engine, module,or database) illustrated in FIG. 2 may be implemented using hardware(e.g., a processor of a machine) or a combination of logic (e.g.,executable software instructions) and hardware (e.g., memory andprocessor of a machine) for executing the logic. Furthermore, thevarious functional components depicted in FIG. 2 may reside on a singlemachine (e.g., a server) or may be distributed across several machinesin various arrangements such as cloud-based architectures. Moreover, anytwo or more of these components may be combined into a single component(e.g., a single module), and the functions described herein for a singlecomponent may be subdivided among multiple modules. Functional detailsof these modules are described below with respect to FIGS. 3-9.

FIG. 3 is a flowchart illustrating a method 300 for providingqualitative and quantitative measures of an industrial equipment'scondition, according to some embodiments. The method 300 may be embodiedin computer-readable instructions for execution by one or moreprocessors such that the operations of the method 300 may be performedin part or in whole by the real-time auditing system 102; accordingly,the method 300 is described below by way of example with referencethereto. However, it shall be appreciated that at least some of theoperations of the method 300 may be deployed on various other hardwareconfigurations and the method 300 is not intended to be limited to thereal-time auditing system 102.

At operation 305, the data retrieval module 202 ingests source data. Thesource data includes sensor data (e.g., sets of output data of sensors116) and report data (e.g., human-generated reports) related to theindustrial equipment 118. The source data may include multiple sets ofsensor data (e.g., sensor data measuring various operational aspects ofa piece of equipment). Each set of sensor data may correspond to theoutput of a particular sensor and may each include measurements ofvarious operational aspects (e.g., functional attributes) of theindustrial equipment 118 (e.g., engine or motor speed, torque, valvepositions, precooler temperatures, deceleration, acceleration, pH,moisture, flow rate, altitude, depth/level, or flux). In ingesting thesource data, the data retrieval module 202 performs operationsincluding: obtaining sensor data from the sensors 116 (e.g., directlyfrom the sensors 116 or from the third-party computing system 106);obtaining the report data from the third-party computing system 106;parsing the sensor data and the report data to identify data related tothe industrial equipment 118; and storing the parsed source data in thedatabase 212 for subsequent processing and analysis by the real-timeauditing system 102. The data retrieval module 202 stores the parsedsource data related to the industrial equipment 118 in association withor as part of an equipment object (e.g., a data structure) correspondingto the industrial equipment 118.

At operation 310, the calculation engine 204 computes one or morecondition factor scores associated with the industrial equipment 118based on the ingested source data. Each computed condition factor scoreprovides a qualitative and quantitative measure of a condition factorthat impacts an overall functional state of the industrial equipment. Incomputing each condition factor score, the calculation engine 204accesses a predefined formula or set of formulas (e.g., from database212) corresponding to the particular condition factor score beingcomputed. Each formula may include one or more variables that correspondto the output of a particular sensor from the sensors 116. Thecalculation engine 204 evaluates the accessed formula or set of formulasusing a portion of the source data (e.g., specific sensor data or reportdata corresponding to one or more variables included in the formula). Insome instances, the calculation engine 204 may use the calculationmethodology 210B to map intermediate values resulting from theevaluation of the formula to a particular condition factor score. Forexample, the calculation engine 204 may assign a condition factor scoreto particular condition factor of a piece of industrial equipment basedon an underlying value (e.g., resulting from evaluation of the one ormore predefined formulas)

At operation 315, the calculation engine 204 computes an overallcondition factor score associated with the industrial equipment 118based on the one or more condition factor scores. The overall conditionfactor score provides a qualitative and quantitative measure of anoverall functional state of the industrial equipment 118. Thecalculation engine 204 computes the overall condition score byaggregating the condition factor scores computed for the industrialequipment 118. For example, in calculating the overall condition scorefor the industrial equipment 118, the calculation engine 204 may computea weighted average of the condition factor scores.

At operation 320, the calculation engine 204 stores the computed one ormore condition factor scores and the overall condition score, whichcollectively compose the condition data, in the database 212. Thecalculation engine 204 may store the condition data in association withor as part of the equipment object corresponding to the industrialequipment 118. The calculation engine 204 stores the one or morecondition factor scores and the overall condition scores with anassociated time stamp so as to maintain a record of condition factorscores and overall condition scores of the industrial equipment 118 overtime.

At operation 325, the interface module 200 generates presentation datarepresenting a portion of a UI for presenting the condition data (e.g.,the one or more condition factor scores and the overall conditionscore). In generating the presentation data, the interface module 200accesses the one or more condition factor scores and the overallcondition score from the database 212 and incorporates them into thepresentation data. The portion of the UI may correspond to either thetable view or detailed view of condition data. In instances in which theUI corresponds to the detailed view, the interface module 200 mayfurther access and incorporate variable values (e.g., sensor datavalues), formulas, and intermediate values (e.g., resulting fromevaluation of a formula using one or more variable values) used by thecalculation engine 204 into the presentation data.

The generating of the presentation data representing the portion of theUI may further include determining a hazard level associated with eachcondition factor based on the corresponding condition factor score, andassigning a visual indicator to the condition factor score based on thedetermined hazard level. Similarly, the generating of the presentationdata may further include determining an overall hazard level of theindustrial equipment 118 based on the overall condition score, andassigning a visual indicator to the overall hazard level based on theoverall hazard level. Each hazard level may, for example, correspond toone of multiple coarsely granular relative rankings such as high,medium, and low. The determining of the hazard level may includecomparing the score (either condition factor score or overall conditionscore) to a range of scores associated with each level, and determining,based on the comparison, the range in which the score falls. Forexample, condition factor scores of 0-4 may correspond to a high hazardlevel, scores of 5-7 may correspond to a medium hazard level, and scoresof 8-10 may correspond to a low hazard level.

The visual indicator assigned to the condition factor score may includetext corresponding to the coarsely granular relative ranking (e.g.,“high,” “medium,” or “low”) and in addition, or in the alternative, acolor. For example, scores corresponding to a “high” hazard level may bedisplayed with a red colored indicator, scores corresponding to a“medium” hazard level may be displayed with a yellow colored indicator,and scores corresponding to a “low” hazard level may be displayed with agreen colored indicator. Accordingly, the assigning of the visualindicator to a condition factor may include selecting a particular colorfrom among multiple available colors based on, for example, informationincluded in a look-up table.

At operation 330, the interface module 200 causes display of the portionof the UI (e.g., the table view or the detailed view) on the device 104.The interface module 200 may cause display of the UI on the device 104by providing the device 104 (e.g., through electronic transmission) withthe presentation data representing the portion of the UI andinstructions that, when executed by the device 104, cause the device 104to display the portion of UI. Examples of portions of the UI displayedby the device 104, according to some embodiments, are illustrated inFIGS. 10, 15, and 17 and discussed below in reference thereto.

As shown in FIG. 4, the method 300 may, in some embodiments, alsoinclude operations 335, 340, 345, 350, and 355, which may be performedsubsequent to the operation 330. At operation 335, the listener module206 detects a change in the source data (e.g., the sensor data and thereport data) associated with the industrial equipment 118 that isretrieved by the data retrieval module 202. The listener module 206 maydetect the change based on a difference in values identified through acomparison of previous source data with current source data. Forexample, the listener module 206 compares previous values included inprevious sensor data from the sensors 116 with current values includedin current sensor data from the sensors 116, and the listener module 206identifies a change to the sensor data based on a difference identifiedas a result of the comparison.

At operation 340, responsive to the listener module 206 detecting thechange in the source data, the calculation engine 204 dynamicallyrecomputes the one or more condition factor scores, the result of whichis at least one updated condition factor score. In other words, thecalculation engine 204 uses updated source data (e.g., changed sourcedata) to update (e.g., recompute) the one or more condition factorscores.

At operation 345, responsive to the computation of at least one updatedcondition factor score, the calculation engine 204 dynamicallyrecomputes the overall condition factor scores associated with theindustrial equipment 118, the result of which is an updated overallcondition score. In other words, the calculation engine 204 updates theoverall condition score using the updated one or more condition factorscores.

At operation 350, the calculation engine 204 stores the updated one ormore condition scores and the updated overall condition score in thedatabase 212. The calculation engine 204 stores the updated one or morecondition scores and the updated overall condition score as part of, orin association with, the equipment object corresponding to theindustrial equipment 118 so as to maintain an association with currentscores and historic scores.

At operation 355, the interface module 200 updates the portion of the UIdisplayed in the device 104 to include the updated one or more conditionfactor scores and the overall condition score associated with theindustrial equipment 118. The updating of the UI includes replacingprevious scores (e.g., condition factor scores or the overall conditionscore) in the presentation data with current (e.g., updated) scores.Additionally, the updating of the UI includes determining an updatedhazard level based on current scores, and updating the visual indicatorassigned to each condition factor based on the corresponding updatedhazard level. As with the initial determination of hazard level,determining the updated hazard level may be based on which of multipleranges (e.g., ranges of scores) the updated score falls into. Ininstances in which the portion of the UI being displayed corresponds tothe detailed view, the updating of the display of the UI may furtherinclude updating one or more underlying variable values or otherintermediate values to reflect changes to sensor data values in thesource data.

As shown in FIG. 5, the method 300 may, in some embodiments, alsoinclude operations 360, 365, 370, and 375, which may be performedsubsequent to the operation 330, where the interface module 200 causesdisplay of the portion of the UI on the device 104. In the context ofoperations 360, 365, 370, and 375, the portion of the UI that is causedto be displayed at operation 330 corresponds to a table view ofcondition data that includes condition factor scores associated withindustrial equipment 118.

At operation 360, the interface module 200 provides a selectable element(e.g., a toggle button) within the UI that is operable (e.g., by way ofuser selection) to toggle the UI between the table view and a detailedview. The interface module 200 causes the selectable element to bepresented in conjunction with the table view (e.g., in an area in the UIabove the table view).

At operation 365, the interface module 200 receives user selection ofthe selectable element. The user selection may be accomplished using aninput device (e.g., mouse or touch screen) of the device 104 on whichthe UI is being displayed.

In response to receiving the user selection, the interface module 200accesses derivation information related to the condition factor scoresdisplayed within the table view, at operation 370. For each conditionfactor score, the derivation information may include one or moreunderlying variable values (e.g., a sensor data value), one or moreformulas used to generate the condition factor score using the one ormore underlying variable values, and one or more intermediate valuesresulting from the evaluation of a formula using the one or moreunderlying variable values.

Also responsive to receiving the user selection, the interface module200 updates the UI to present the detailed view that includes thederivation information, at operation 375. The updating of the UI mayinclude providing (e.g., transmitting) the device 104 (e.g., throughelectronic transmission) with the presentation data representing thedetailed view and further instructions that, when executed by the device104, cause the device 104 to display the detailed view in place of thetable view.

As shown in FIG. 6, the method 300 may, in some embodiments, alsoinclude operations 380 and 385, which may be performed subsequent to theoperation 330, where the interface module 200 causes display of theportion of the UI on the device 104.

At operation 380, the interface module 200 receives, via the device 104,a filter selection from among multiple filters presented within the UI.The filters may, for example, include condition factor, equipment type,equipment attributes, and equipment location (e.g., facility).

At operation 385, the filter/sort module 201 of the interface module 200filters the condition data presented in the portion of the UI inaccordance with the filter selection. Depending on what other filterselections have been selected, if any, the filtering of the conditiondata by the filter/sort module 201 may include adding or removing one ormore condition factors, condition factor scores, or pieces of industrialequipment from display within the portion of the UI (e.g., table view ordetailed view). For example, upon receiving a filter selectioncorresponding to a particular condition factor, the filter/sort module201 may remove condition factor scores for all condition factors exceptfor the condition factor corresponding to the filter selection.

As shown in FIG. 7, the method 300 may, in some embodiments, alsoinclude operations 390 and 395, which may be performed subsequent to theoperation 330, where the interface module 200 causes display of theportion of the UI on the device 104.

At operation 390, the interface module 200 receives a sort selection viathe device 104. The sort selection may be specified by a user of thedevice 104 using one or more elements displayed in conjunction with theportion of the UI presented on the device 104. The sort selection may,for example, include a selection based on condition factor, conditionfactor score, equipment type, equipment attributes, and equipmentlocation (e.g., facility).

At operation 395, the filter/sort module 201 of the interface module 200sorts the condition data presented in the portion of the UI according tothe sort selection. The sorting of the condition data by the filter/sortmodule 201 may include displaying condition factor scores according to aparticular order and/or grouping.

FIG. 8 is a flowchart illustrating a method 800 for processing usersubmitted comments associated with a condition data of industrialequipment, according to some embodiments. The method 800 may be embodiedin computer-readable instructions for execution by one or moreprocessors such that the operations of the method 800 may be performedin part or in whole by the real-time auditing system 102; accordingly,the method 800 is described below by way of example with referencethereto. However, it shall be appreciated that at least some of theoperations of the method 800 may be deployed on various other hardwareconfigurations and the method 800 is not intended to be limited to thereal-time auditing system 102.

At operation 805, the interface module 200 receives a user selection ofa score displayed within a UI displayed on the device 104. The score maybe either an overall condition score or a condition factor score. Theuser may select the score displayed in the UI through appropriateinteraction with an input device (e.g., mouse click) of the device 104.

In response to receiving the user selection of the score, the interfacemodule 200, working in conjunction with the edit/comment module 208,causes display of an editor component in the UI (e.g., by transmitting aset of machine-readable instructions to the device 104 that causes thedevice 104 to display the editor component) at operation 810. The editorcomponent is a UI element operable (e.g., by user interaction) tofacilitate manual editing of scores and receiving comments related tothe edited score. The editor component may, accordingly, provide one ormore interface elements (e.g., entry fields or buttons) that allow usersto change scores and submit textual, audio, or video comments related tothe selected score. For example, the comment component may include adrop-down menu to select a score and a text entry field for the user toenter a textual comment. As another example, the comment component mayinclude one or more buttons that allow the user to record an audio orvideo comment, or a combination thereof.

The editor component may be displayed in conjunction with the score inthe UI. For example, in response to receiving a selection of a score,the interface module 200 may cause the comment component to be presentedoverlaid upon a portion of the UI. An example editor component,according to some embodiments, is illustrated in FIG. 16 and describedbelow in reference thereto.

At operation 815, the interface module 200, working in conjunction withthe edit/comment module 208, receives a user edit to the score (e.g.,via selection of a new score from a drop-down menu included in theeditor component). At operation 820, the edit/comment module 208 updatesthe score according to the user edit. The updating of the scoreperformed by the edit/comment module 208 may include modifying a valueincluded in an equipment object to reflect the user edit to the score.

At operation 825, the interface module 200, working in conjunction withthe edit/comment module 208, receives a user-generated (e.g.,human-generated) comment input via the editor component. As noted above,the user generated comment may be in the form of text, audio, video, orvarious combinations thereof.

At operation 830, the edit/comment module 208 stores the user generatedcomment in association with the user-edited score. For example, theedit/comment module 208 may store the user-generated comment as part ofthe corresponding equipment object.

At operation 835, the interface module 200, working in conjunction withthe edit/comment module 208, causes presentation of the user-generatedcomment within the comment component (e.g., by transmitting a set ofmachine-readable instructions to the device 104 that causes the device104 to present the user-generated comment). Depending on the type ofcomment received, the presentation of the comment may include displayinga textual comment, displaying all or part of a video file, or presentingall or part of an audio file.

FIG. 9 is a flowchart illustrating a method 900 for providing anaggregate view of condition data associated with a set of industrialequipment, according to some embodiments. The method 900 may be embodiedin computer-readable instructions for execution by one or moreprocessors such that the operations of the method 900 may be performedin part or in whole by the real-time auditing system 102; accordingly,the method 900 is described below by way of example with referencethereto. However, it shall be appreciated that at least some of theoperations of the method 900 may be deployed on various other hardwareconfigurations and the method 900 is not intended to be limited to thereal-time auditing system 102.

At operation 905, the calculation engine 204 accesses condition dataassociated with a set of industrial equipment. The condition dataincludes condition factor scores and overall condition scores of eachpiece of equipment in the set. The set of industrial equipment may, forexample, correspond to a collection of equipment located at a particularfacility, (e.g., a consumer product manufacturing facility, a chemicalplant, an oil refinery, a drug manufacturing facility, an aircraftmanufacturing facility, or an automotive manufacturing facility),multiple collections of equipment located across multiple facilities ofa particular asset, or multiple collections of equipment located acrossmultiple facilities of multiple different assets in a particular region(e.g., geographic region).

At operation 910, the calculation engine 204 computes an aggregatecondition data for the set of industrial equipment. The aggregatecondition data includes an overall aggregate condition score and one ormore aggregate condition factor scores. Accordingly, the calculating ofaggregate condition data may include, for each condition factor,aggregating (e.g., determining a weighted average) respective conditionfactor scores (e.g., the condition factor score of each piece ofequipment) to compute an aggregate condition factor score. Thecalculation of aggregate condition data may further include aggregating(e.g., determining a weighted average) respective overall conditionscores (e.g., the overall condition factor score of each piece ofequipment) to compute an overall aggregate condition score.

At operation 915, the interface module 200 uses the aggregate conditiondata to generate presentation data representing a portion of a UI. TheUI represented by the presentation data includes an identifier of theset of equipment (e.g., an identifier of the facility, asset, orregion), the overall aggregate condition score, and the one or moreaggregate condition factors.

At operation 920, the interface module 200 causes display of the portionof the UI on the device 104. For example, the interface module 200 mayprovide the device 104 with the presentation data representing theportion of the UI and a set of instructions that, when executed by thedevice 104, cause the device 104 to display the presentation data.

FIG. 10 is an interface diagram illustrating a portion of a UI 1000(e.g., a table view) that includes a table 1002 of condition factorscores associated with a set of industrial equipment, according to someexample embodiments. As shown, columns of the table 1002 correspond toindividual pieces of equipment identified using an equipment identifier,and rows of the table 1002 correspond to condition factors that impactthe overall functional state of the corresponding equipment.Accordingly, numeric values in each entry of the table 1002 correspondto a condition factor score of a particular piece of equipment for aparticular condition factor. As an example, condition factor score 1004,which has a value of “1,” provides a qualitative and quantitativemeasure of the impact of “Factor 10” on the overall functional state ofindustrial equipment “E10.”

Additionally, each condition factor score included in the table 1002includes a visual indicator (e.g., cross-hatching or lack ofcross-hatching) of the hazard level represented by the correspondingcondition factor score. Although the visual indicators illustrated inFIG. 10 include cross-hatching, the visual indicator of hazard level isnot intended to be limited to cross-hatching, and it shall beappreciated that other visual indicators such as color may be used inother embodiments. As noted above, the visual indicator displayed foreach condition factor score may depend on which one of multiple scoreranges the condition factor score is within. For example, as shown inFIG. 10, condition factors scores in the range of 0-2 are presentedwithout cross-hatching, condition factor scores of 3 are presented withright-hand cross-hatching, and condition factor scores in the range of4-5 are presented with left-hand cross-hatching.

A user selection of one of the condition factor scores included in thetable 1002 (e.g., accomplished through placing the cursor over the valueand selecting using a mouse click), results in the display of a commentcomponent, an example of which is illustrated in FIG. 11, according tosome embodiments. In particular, shown in FIG. 11 is a comment component1100 that includes further information regarding the condition factorscore 1004 for “Factor 10” for equipment “E10.” More specifically, thecomment component 1100 includes a graph 1102 that represents thecondition factor score 1004 over time. Additionally, the commentcomponent 1100 includes a text entry field 1104 for receivinguser-generated comments related to the condition factor score 1004. Asan example of such user-generated comments, the comment component 1100also includes a comment section 1106 that includes a display ofpreviously submitted textual comments related to condition factor score1004.

FIG. 12 is an interface diagram illustrating a portion of a UI 1200 forpresenting aggregate condition data associated with a facility(“Facility 3”) that includes a set of industrial equipment, according tosome embodiments. In particular, the UI 1200 includes a graph 1202 thatrepresents production of the facility (e.g., in number of units) overtime, and a graph 1204 that represents production at risk (e.g., innumber of units) over time. The UI 1200 also includes aggregatecondition data for the facility. For example, graph 1206 represents theoverall aggregate condition score of the facility over time. Further,graphs 1208 and 1210 represent aggregate condition factor scores for“Condition Factor 1” and “Condition Factor 2,” respectively, over time.The UI 1200 further includes a condition score card 1212 that includescurrent aggregate condition factor scores for the facility.

FIG. 13 is an interface diagram illustrating a portion of a UI 1300 forpresenting aggregate condition data associated with an asset (“Asset 1”)that includes a set of facilities, according to some embodiments. Theasset may, for example, be or include consumer product manufacturingfacilities, chemical plants, oil drilling platforms, oil refineries,drug manufacturing facilities, aircraft manufacturing facilities, orautomotive manufacturing facilities. The UI 1300 includes graph 1302that represents the production of the asset (e.g., in number of units)over time, and a graph 1304 that represents production at risk (e.g., innumber of units) over time. The UI 1300 also includes aggregatecondition data for the asset. For example, graph 1306 represents theoverall aggregate condition score of the asset over time. Graphs 1308,1310, and 1312 show a number of facilities in the asset that are at eachhazard level (e.g., low, medium, and high) over time.

The UI 1300 further includes information related to specific equipmentlocated at the facility. For example, table 1314 includes informationabout each facility in the asset such as a facility identifier, a graphof overall condition score over time, a graph of production (e.g., innumber of units) over time, and a graph of production at risk.

FIG. 14 is an interface diagram illustrating a portion of a UI 1400 forpresenting aggregate condition data associated with a region thatincludes a set of assets, according to some embodiments. In particular,the UI 1400 includes a graph 1402 that represents the production of theasset (e.g., in number of units) over time, and a graph 1404 thatrepresents production at risk (e.g., in number of units) over time.Graphs 1406, 1408, and 1410 show a number of assets in the region thatare at each hazard level (e.g., low, medium, and high) over time.

The UI 1400 further includes information related to specific equipmentlocated at the facility. For example, table 1412 includes informationabout each asset in the region such as an asset identifier, a graph ofoverall condition score over time, a graph of production (e.g., innumber of units) over time, a graph of production at risk, and a numberof facilities at each hazard level (e.g., low, medium, and high).

FIG. 15 is an interface diagram illustrating a portion of a UI 1500corresponding to a table view 1502 that includes a table of conditionfactor scores associated with a set of industrial equipment, accordingto some example embodiments. Similar to the table 1002 discussed above,the columns of the table in the table view 1502 correspond to individualpieces of equipment identified using an equipment identifier, and rowsof the table correspond to condition factors that impact the overallfunctional state of the corresponding equipment. Accordingly, numericvalues in each entry of the table correspond to a condition factor scoreof a particular piece of equipment for a particular condition factor.

A user selection of one of the condition factor scores included in thetable (e.g., accomplished through placing the cursor over the value andselecting using a mouse click), results in the display of an editorcomponent, an example of which is illustrated in FIG. 16, according tosome embodiments. In particular, shown in FIG. 16 is an editor window1600 that include a counter 1602 and text entry field 1604. The counter1602 is operable by a user to manually edit the score by eitherincrementing or decrementing the value using the up or down arrows,respectively. The text entry field 1604 is operable by a user to enter atextual comment related to the user edit to the score. Upon selection ofthe button 1606, the edit/comment module 208 updates the score accordingto the user edit, and stores the comment in association with the score.

With reference back to FIG. 15, the UI 1500 includes a toggle button1504 that is operable by a user to switch between display of the table1502 and a detailed view, an example of which is displayed in FIG. 17.As shown in FIG. 17, a detailed view 1700 includes a breakdown ofcondition factor scores for condition factors of a set of equipment.More specifically, the detailed view 1700 includes derivationinformation related to each displayed condition score. The derivationinformation provides details related to how corresponding conditionfactor scores are generated. For example, derivation information 1702includes underlying values (e.g., variable values) used in generatingthe condition factor score for “FACTOR 2”.

With reference again to FIG. 15, selection of button 1506 results indisplay of a drop-down menu that includes a list of filters selectableby a user (also referred to as “filter selections”), an example of whichis illustrated in FIG. 18. In particular, FIG. 18 illustrates adrop-down menu 1800 presented in conjunction with the table view 1502. Auser may select one or more of the filters from the drop-down menu 1800to filter the information displayed in the table of the table view 1502according to equipment type.

Similarly, with reference yet again back to FIG. 15, selection of eitherof buttons 1508 or 1510 results in display of an additional drop-downmenu that includes a list of additional filters selectable by the user.In particular, selection of button 1508 results in a display of locationfilters (e.g., facilities or regions), and selection of button 1510results in a display of equipment attribute filters. Further, selectionof user guides button 1512 provides a user the option to view acalculation methodology or calculation criteria.

An example of the view of a calculation methodology 1900 is illustratedin FIG. 19. As shown in FIG. 19, the calculation methodology 1900includes assumptions, formulas, and methods used to compute conditionfactor scores. An example calculation criteria 2000 is illustrated inFIG. 20. As shown in FIG. 20, the calculation criteria specifiescriteria used to determine the condition factor scores and hazardlevels.

Modules, Components, and Logic

Certain embodiments are described herein as including logic or a numberof components, modules, or mechanisms. Modules may constitute eithersoftware modules (e.g., code embodied on a machine-readable medium) orhardware modules. A “hardware module” is a tangible unit capable ofperforming certain operations and may be configured or arranged in acertain physical manner. In various example embodiments, one or morecomputer systems (e.g., a standalone computer system, a client computersystem, or a server computer system) or one or more hardware modules ofa computer system (e.g., a processor or a group of processors) may beconfigured by software (e.g., an application or application portion) asa hardware module that operates to perform certain operations asdescribed herein.

In some embodiments, a hardware module may be implemented mechanically,electronically, or any suitable combination thereof. For example, ahardware module may include dedicated circuitry or logic that ispermanently configured to perform certain operations. For example, ahardware module may be a special-purpose processor, such as aField-Programmable Gate Array (FPGA) or an Application SpecificIntegrated Circuit (ASIC). A hardware module may also includeprogrammable logic or circuitry that is temporarily configured bysoftware to perform certain operations. For example, a hardware modulemay include software executed by a general-purpose processor or otherprogrammable processor. Once configured by such software, hardwaremodules become specific machines (or specific components of a machine)uniquely tailored to perform the configured functions and are no longergeneral-purpose processors. It will be appreciated that the decision toimplement a hardware module mechanically, in dedicated and permanentlyconfigured circuitry, or in temporarily configured circuitry (e.g.,configured by software) may be driven by cost and time considerations.

Accordingly, the phrase “hardware module” should be understood toencompass a tangible entity, be that an entity that is physicallyconstructed, permanently configured (e.g., hardwired), or temporarilyconfigured (e.g., programmed) to operate in a certain manner or toperform certain operations described herein. As used herein,“hardware-implemented module” refers to a hardware module. Consideringembodiments in which hardware modules are temporarily configured (e.g.,programmed), each of the hardware modules need not be configured orinstantiated at any one instance in time. For example, where a hardwaremodule comprises a general-purpose processor configured by software tobecome a special-purpose processor, the general-purpose processor may beconfigured as respectively different special-purpose processors (e.g.,comprising different hardware modules) at different times. Softwareaccordingly configures a particular processor or processors, forexample, to constitute a particular hardware module at one instance oftime and to constitute a different hardware module at a differentinstance of time.

Hardware modules can provide information to, and receive informationfrom, other hardware modules. Accordingly, the described hardwaremodules may be regarded as being communicatively coupled. Where multiplehardware modules exist contemporaneously, communications may be achievedthrough signal transmission (e.g., over appropriate circuits and buses)between or among two or more of the hardware modules. In embodiments inwhich multiple hardware modules are configured or instantiated atdifferent times, communications between such hardware modules may beachieved, for example, through the storage and retrieval of informationin memory structures to which the multiple hardware modules have access.For example, one hardware module may perform an operation and store theoutput of that operation in a memory device to which it iscommunicatively coupled. A further hardware module may then, at a latertime, access the memory device to retrieve and process the storedoutput. Hardware modules may also initiate communications with input oroutput devices, and can operate on a resource (e.g., a collection ofinformation).

The various operations of example methods described herein may beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors may constitute processor-implemented modulesthat operate to perform one or more operations or functions describedherein. As used herein, “processor-implemented module” refers to ahardware module implemented using one or more processors.

Similarly, the methods described herein may be at least partiallyprocessor-implemented, with a particular processor or processors beingan example of hardware. For example, at least some of the operations ofa method may be performed by one or more processors orprocessor-implemented modules. Moreover, the one or more processors mayalso operate to support performance of the relevant operations in a“cloud computing” environment or as a “software as a service” (SaaS).For example, at least some of the operations may be performed by a groupof computers (as examples of machines including processors), with theseoperations being accessible via a network (e.g., the Internet) and viaone or more appropriate interfaces (e.g., an API).

The performance of certain of the operations may be distributed amongthe processors, not only residing within a single machine, but deployedacross a number of machines. In some example embodiments, the processorsor processor-implemented modules may be located in a single geographiclocation (e.g., within a home environment, an office environment, or aserver farm). In other example embodiments, the processors orprocessor-implemented modules may be distributed across a number ofgeographic locations.

Example Machine Architecture and Machine-Readable

FIG. 21 is a block diagram illustrating components of a machine 2100,according to some example embodiments, able to read instructions from amachine-readable medium (e.g., a machine-readable storage medium) andperform any one or more of the methodologies discussed herein.Specifically, FIG. 21 shows a diagrammatic representation of the machine2100 in the example form of a computer system, within which instructions2116 (e.g., software, a program, an application, an applet, an app, orother executable code) for causing the machine 2100 to perform any oneor more of the methodologies discussed herein may be executed.Additionally, or alternatively, the machine 2100 may correspond to anyone of the real-time auditing system 102, device 104, or the third-partycomputing system 106. The instructions 2116 transform the general,non-programmed machine into a particular machine programmed to carry outthe described and illustrated functions in the manner described. Inalternative embodiments, the machine 2100 operates as a standalonedevice or may be coupled (e.g., networked) to other machines. In anetworked deployment, the machine 2100 may operate in the capacity of aserver machine or a client machine in a server-client networkenvironment, or as a peer machine in a peer-to-peer (or distributed)network environment. The machine 2100 may comprise, but not be limitedto, a server computer, a client computer, a personal computer (PC), atablet computer, a laptop computer, a netbook, a set-top box (STB), aPDA, an entertainment media system, a cellular telephone, a smart phone,a mobile device, a wearable device (e.g., a smart watch), a smart homedevice (e.g., a smart appliance), other smart devices, a web appliance,a network router, a network switch, a network bridge, or any machinecapable of executing the instructions 2116, sequentially or otherwise,that specify actions to be taken by the machine 2100. Further, whileonly a single machine 2100 is illustrated, the term “machine” shall alsobe taken to include a collection of machines 2100 that individually orjointly execute the instructions 2116 to perform any one or more of themethodologies discussed herein.

The machine 2100 may include processors 2110, memory/storage 2130, andinput/output (I/O) components 1250, which may be configured tocommunicate with each other such as via a bus 2102. In an exampleembodiment, the processors 2110 (e.g., a Central Processing Unit (CPU),a Reduced Instruction Set Computing (RISC) processor, a ComplexInstruction Set Computing (CISC) processor, a Graphics Processing Unit(GPU), a Digital Signal Processor (DSP), an ASIC, a Radio-FrequencyIntegrated Circuit (RFIC), another processor, or any suitablecombination thereof) may include, for example, a processor 2112 and aprocessor 2114 that may execute the instructions 2116. The term“processor” is intended to include multi-core processor that maycomprise two or more independent processors (sometimes referred to as“cores”) that may execute instructions contemporaneously. Although FIG.21 shows multiple processors 2110, the machine 2100 may include a singleprocessor with a single core, a single processor with multiple cores(e.g., a multi-core processor), multiple processors with a single core,multiple processors with multiples cores, or any combination thereof.

The memory/storage 2130 may include a memory 2132, such as a mainmemory, or other memory storage, and a storage unit 2136, bothaccessible to the processors 2110 such as via the bus 2102. The storageunit 2136 and memory 2132 store the instructions 2116 embodying any oneor more of the methodologies or functions described herein. Theinstructions 2116 may also reside, completely or partially, within thememory 2132, within the storage unit 2136, within at least one of theprocessors 2110 (e.g., within the processor's cache memory), or anysuitable combination thereof, during execution thereof by the machine2100. Accordingly, the memory 2132, the storage unit 2136, and thememory of the processors 2110 are examples of machine-readable media.

As used herein, “machine-readable medium” means a device able to storeinstructions and data temporarily or permanently, and may include, butis not limited to, random-access memory (RAM), read-only memory (ROM),buffer memory, flash memory, optical media, magnetic media, cachememory, other types of storage (e.g., Erasable Programmable Read-OnlyMemory (EEPROM)), and/or any suitable combination thereof. The term“machine-readable medium” should be taken to include a single medium ormultiple media (e.g., a centralized or distributed database, orassociated caches and servers) able to store the instructions 2116. Theterm “machine-readable medium” shall also be taken to include anymedium, or combination of multiple media, that is capable of storinginstructions (e.g., instructions 2116) for execution by a machine (e.g.,machine 2100), such that the instructions, when executed by one or moreprocessors of the machine (e.g., processors 2110), cause the machine toperform any one or more of the methodologies described herein.Accordingly, a “machine-readable medium” refers to a single storageapparatus or device, as well as “cloud-based” storage systems or storagenetworks that include multiple storage apparatus or devices. The term“machine-readable medium” excludes signals per se.

Furthermore, the machine-readable medium is non-transitory in that itdoes not embody a propagating signal. However, labeling the tangiblemachine-readable medium “non-transitory” should not be construed to meanthat the medium is incapable of movement; the medium should beconsidered as being transportable from one real-world location toanother. Additionally, since the machine-readable medium is tangible,the medium may be considered to be a machine-readable storage device.

The I/O components 1250 may include a wide variety of components toreceive input, provide output, produce output, transmit information,exchange information, capture measurements, and so on. The specific I/Ocomponents 1250 that are included in a particular machine will depend onthe type of machine. For example, portable machines such as mobilephones will likely include a touch input device or other such inputmechanisms, while a headless server machine will likely not include sucha touch input device. It will be appreciated that the I/O components1250 may include many other components that are not shown in FIG. 21.The I/O components 1250 are grouped according to functionality merelyfor simplifying the following discussion and the grouping is in no waylimiting. In various example embodiments, the I/O components 1250 mayinclude output components 2152 and input components 2154. The outputcomponents 2152 may include visual components (e.g., a display such as aplasma display panel (PDP), a light emitting diode (LED) display, aliquid crystal display (LCD), a projector, or a cathode ray tube (CRT)),acoustic components (e.g., speakers), haptic components (e.g., avibratory motor, resistance mechanisms), other signal generators, and soforth. The input components 2154 may include alphanumeric inputcomponents (e.g., a keyboard, a touch screen configured to receivealphanumeric input, a photo-optical keyboard, or other alphanumericinput components), point based input components (e.g., a mouse, atouchpad, a trackball, a joystick, a motion sensor, or another pointinginstrument), tactile input components (e.g., a physical button, a touchscreen that provides location and/or force of touches or touch gestures,or other tactile input components), audio input components (e.g., amicrophone), and the like.

In further example embodiments, the I/O components 1250 may includebiometric components 2156, motion components 2159, environmentalcomponents 2160, or position components 2162 among a wide array of othercomponents. For example, the biometric components 2156 may includecomponents to detect expressions (e.g., hand expressions, facialexpressions, vocal expressions, body gestures, or eye tracking), measurebiosignals (e.g., blood pressure, heart rate, body temperature,perspiration, or brain waves), identify a person (e.g., voiceidentification, retinal identification, facial identification,fingerprint identification, or electroencephalogram basedidentification), and the like. The motion components 2158 may includeacceleration sensor components (e.g., accelerometer), gravitation sensorcomponents, rotation sensor components (e.g., gyroscope), and so forth.The environmental components 2160 may include, for example, illuminationsensor components (e.g., photometer), temperature sensor components(e.g., one or more thermometers that detect ambient temperature),humidity sensor components, pressure sensor components (e.g.,barometer), acoustic sensor components (e.g., one or more microphonesthat detect background noise), proximity sensor components (e.g.,infrared sensors that detect nearby objects), gas sensors (e.g., gasdetection sensors to detect concentrations of hazardous gases for safetyor to measure pollutants in the atmosphere), or other components thatmay provide indications, measurements, or signals corresponding to asurrounding physical environment. The position components 2162 mayinclude location sensor components (e.g., a Global Position System (GPS)receiver component), altitude sensor components (e.g., altimeters orbarometers that detect air pressure from which altitude may be derived),orientation sensor components (e.g., magnetometers), and the like.

Communication may be implemented using a wide variety of technologies.The I/O components 1250 may include communication components 2164operable to couple the machine 2100 to a network 2190 or devices 2170via a coupling 2192 and a coupling 2172, respectively. For example, thecommunication components 2164 may include a network interface componentor other suitable device to interface with the network 2190. In furtherexamples, the communication components 2164 may include wiredcommunication components, wireless communication components, cellularcommunication components, Near Field Communication (NFC) components,Bluetooth® components (e.g., Bluetooth® Low Energy), WiFi® components,and other communication components to provide communication via othermodalities. The devices 2170 may be another machine or any of a widevariety of peripheral devices (e.g., a peripheral device coupled via aUniversal Serial Bus (USB)).

Moreover, the communication components 2164 may detect identifiers orinclude components operable to detect identifiers. For example, thecommunication components 2164 may include Radio Frequency Identification(RFID) tag reader components, NFC smart tag detection components,optical reader components (e.g., an optical sensor to detectone-dimensional bar codes such as Universal Product Code (UPC) bar code,multi-dimensional bar codes such as Quick Response (QR) code, Azteccode, Data Matrix, Dataglyph, MaxiCode, PDF4210, Ultra Code, UCC RSS-2Dbar code, and other optical codes), or acoustic detection components(e.g., microphones to identify tagged audio signals). In addition, avariety of information may be derived via the communication components2164, such as location via Internet Protocol (IP) geo-location, locationvia Wi-Fi® signal triangulation, location via detecting an NFC beaconsignal that may indicate a particular location, and so forth.

Transmission Medium

In various example embodiments, one or more portions of the network 2190may be an ad hoc network, an intranet, an extranet, a VPN, a LAN, aWLAN, a WAN, a WWAN, a MAN, the Internet, a portion of the Internet, aportion of the PSTN, a plain old telephone service (POTS) network, acellular telephone network, a wireless network, a WiFi® network, anothertype of network, or a combination of two or more such networks. Forexample, the network 2190 or a portion of the network 2190 may include awireless or cellular network and the coupling 2192 may be a CodeDivision Multiple Access (CDMA) connection, a Global System for Mobilecommunications (GSM) connection, or another type of cellular or wirelesscoupling. In this example, the coupling 2192 may implement any of avariety of types of data transfer technology, such as Single CarrierRadio Transmission Technology (1×RTT), Evolution-Data Optimized (EVDO)technology, General Packet Radio Service (GPRS) technology, EnhancedData rates for GSM Evolution (EDGE) technology, third GenerationPartnership Project (3GPP) including 3G, fourth generation wireless (4G)networks, Universal Mobile Telecommunications System (UMTS), High SpeedPacket Access (HSPA), Worldwide Interoperability for Microwave Access(WiMAX), Long Term Evolution (LTE) standard, others defined by variousstandard-setting organizations, other long range protocols, or otherdata transfer technology.

The instructions 2116 may be transmitted or received over the network2190 using a transmission medium via a network interface device (e.g., anetwork interface component included in the communication components2164) and using any one of a number of well-known transfer protocols(e.g., HTTP). Similarly, the instructions 2116 may be transmitted orreceived using a transmission medium via the coupling 2172 (e.g., apeer-to-peer coupling) to the devices 2170. The term “transmissionmedium” shall be taken to include any intangible medium that is capableof storing, encoding, or carrying the instructions 2116 for execution bythe machine 2100, and includes digital or analog communications signalsor other intangible media to facilitate communication of such software.

Throughout this specification, plural instances may implementcomponents, operations, or structures described as a single instance.Although individual operations of one or more methods are illustratedand described as separate operations, one or more of the individualoperations may be performed concurrently, and nothing requires that theoperations be performed in the order illustrated. Structures andfunctionality presented as separate components in example configurationsmay be implemented as a combined structure or component. Similarly,structures and functionality presented as a single component may beimplemented as separate components. These and other variations,modifications, additions, and improvements fall within the scope of thesubject matter herein.

Although an overview of the inventive subject matter has been describedwith reference to specific example embodiments, various modificationsand changes may be made to these embodiments without departing from thebroader scope of embodiments of the present disclosure. Such embodimentsof the inventive subject matter may be referred to herein, individuallyor collectively, by the term “invention” merely for convenience andwithout intending to voluntarily limit the scope of this application toany single disclosure or inventive concept if more than one is, in fact,disclosed.

The embodiments illustrated herein are described in sufficient detail toenable those skilled in the art to practice the teachings disclosed.Other embodiments may be used and derived therefrom, such thatstructural and logical substitutions and changes may be made withoutdeparting from the scope of this disclosure. The Detailed Description,therefore, is not to be taken in a limiting sense, and the scope ofvarious embodiments is defined only by the appended claims, along withthe full range of equivalents to which such claims are entitled.

As used herein, the term “or” may be construed in either an inclusive orexclusive sense. Moreover, plural instances may be provided forresources, operations, or structures described herein as a singleinstance. Additionally, boundaries between various resources,operations, modules, engines, and data stores are somewhat arbitrary,and particular operations are illustrated in a context of specificillustrative configurations. Other allocations of functionality areenvisioned and may fall within a scope of various embodiments of thepresent disclosure. In general, structures and functionality presentedas separate resources in the example configurations may be implementedas a combined structure or resource. Similarly, structures andfunctionality presented as a single resource may be implemented asseparate resources. These and other variations, modifications,additions, and improvements fall within a scope of embodiments of thepresent disclosure as represented by the appended claims. Thespecification and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense.

In this document, the terms “a” or “an” are used, as is common in patentdocuments, to include one or more than one, independent of any otherinstances or usages of “at least one” or “one or more.” In the appendedclaims, the terms “including” and “in which” are used as theplain-English equivalents of the respective terms “comprising” and“wherein.” Also, in the following claims, the terms “including” and“comprising” are open-ended; that is, a system, device, article, orprocess that includes elements in addition to those listed after such aterm in a claim are still deemed to fall within the scope of that claim.Moreover, in the following claims, the terms “first,” “second,” “third,”and so forth are used merely as labels, and are not intended to imposenumerical requirements on their objects.

What is claimed is:
 1. A system comprising: one or more processors of amachine; and a memory storing instructions that, when executed by theone or more processors, causes the machine to perform operationscomprising: causing presentation, on a display of a computer device, ofa user interface comprising a table view of condition factor scoresassociated with industrial equipment, each of the condition factorscores providing a measure of a factor that impacts an overallfunctional state of the industrial equipment, each of the conditionfactor scores computed based in part on source data that includes outputdata produced by one or more sensors coupled to the industrialequipment; causing presentation, within the user interface, of an editorwindow operable to edit a condition factor score from among thecondition factor scores; receiving, via the editor window, a user editto the condition factor score; updating the table view of conditionfactor scores based on the user edit, the updating of the table viewincluding updating the condition factor score in accordance with theuser edit.
 2. The system of claim 1, wherein: the editor windowcomprises a text entry field to receive a textual comment associatedwith the user edit; and the operations further comprise: receiving thetextual comment entered into the text entry field of the editor window;and storing the textual comment in association with the particularcondition factor score.
 3. The system of claim 1, wherein the operationsfurther comprise: providing, within the user interface, a selectableelement operable to toggle the user interface between the table view anda detailed view of the condition factor scores, the selectable elementbeing presented in conjunction with the table view; and in response touser selection, via the computer device, of the selectable element;updating the user interface to present the detailed view, the detailedview presenting derivation information related to at least one conditionfactor score, the derivation information including at least one formulaand at least one sensor value used in calculating the at least onecondition factor score, the at least one sensor value being included inthe output data produced by one or more sensors coupled to theindustrial equipment.
 4. The system of claim 3, wherein the operationsfurther comprise: detecting a change to the source data; and responsiveto detecting the change to the source data: dynamically recomputing theat least one condition factor score based on the change to the sourcedata; and updating the detailed view to include the at least onerecomputed condition factor score.
 5. The system of claim 1, wherein theoperations further comprise: providing, within the user interface, aselectable element operable to access a user guide associated with thecondition factor scores, the user guide comprising calculation criteriaand calculation methodology; and causing display of at least one of thecalculation criteria and the calculation methodology in response toreceiving selection of the selectable element.
 6. The system of claim 1,wherein the operations further comprise: receiving, via the computerdevice, a filter selection from among a plurality of filters presentedin conjunction with the table view; and filtering the table view inaccordance with the filter selection.
 7. The system of claim 6, whereinthe plurality of filters include one or more filters based on one ormore of: a condition factor, equipment type, an equipment attribute, andequipment location.
 8. The system of claim 1, wherein the operationsfurther comprise: receiving, via the computer device, a sort selectionfrom the table view; and sorting the table view in accordance with thesort selection.
 9. The system of claim 8, wherein the sort selection isselected from a group consisting of sorts based on condition factor,condition factor score, equipment type, equipment attributes, andequipment location.
 10. The system of claim 1, wherein the operationsfurther comprise: receiving, via the computer device, user selection ofthe condition factor score from among the condition factor scores;wherein the causing of the presentation of the editor window is inresponse to receiving the user selection.
 11. A method comprising:causing presentation, on a display of a computer device, of a userinterface comprising a table view of condition factor scores associatedwith industrial equipment, each of the condition factor scores providinga measure of a factor that impacts an overall functional state of theindustrial equipment, each of the condition factor scores computed basedin part on source data that includes output data produced by one or moresensors coupled to the industrial equipment; causing presentation,within the user interface, of an editor window operable to edit acondition factor score from among the condition factor scores;receiving, via the editor window, a user edit to the condition factorscore; and updating, by one or more hardware processors, the table viewof condition factor scores based on the user edit, the updating of thetable view including updating the condition factor score in accordancewith the user edit.
 12. The method of claim 11, wherein: the editorwindow comprises a text entry field to receive a textual commentassociated with the user edit; and the operations further comprise:receiving the textual comment entered into the text entry field of theeditor window; and storing the textual comment in association with theparticular condition factor score.
 13. The method of claim 11, furthercomprising: providing, within the user interface, a selectable elementoperable to toggle the user interface between the table view and adetailed view of the condition factor scores, the selectable elementbeing presented in conjunction with the table view; and in response touser selection, via the computer device, of the selectable element;updating the user interface to present the detailed view, the detailedview presenting derivation information related to at least one conditionfactor score, the derivation information including at least one formulaand at least one sensor value used in calculating the at least onecondition factor score, the at least one sensor value being included inthe output data produced by one or more sensors coupled to theindustrial equipment.
 14. The method of claim 13, further comprising:detecting a change to the source data; and responsive to detecting thechange to the source data: dynamically recomputing the at least onecondition factor score based on the change to the source data; andupdating the detailed view to include the at least one recomputedcondition factor score.
 15. The method of claim 11, further comprising:providing, within the user interface, a selectable element operable toaccess a user guide associated with the condition factor scores, theuser guide comprising calculation criteria and calculation methodology;and causing display of at least one of the calculation criteria and thecalculation methodology in response to receiving selection of theselectable element.
 16. The method of claim 11, further comprising:receiving, via the computer device, a filter selection from among aplurality of filters presented in conjunction with the table view; andfiltering the table view in accordance with the filter selection. 17.The method of claim 16, wherein the plurality of filters include one ormore filters based on one or more of: a condition factor, equipmenttype, an equipment attribute, and equipment location.
 18. The method ofclaim 11, further comprising: receiving, via the computer device, a sortselection from the table view; and sorting the table view in accordancewith the sort selection.
 19. The method of claim 18, wherein the sortselection is selected from a group consisting of sorts based oncondition factor, condition factor score, equipment type, equipmentattributes, and equipment location.
 20. A machine-readable hardwarestorage device embodying instructions that, when executed by at leastone processor of a machine, cause the machine to perform operationscomprising: causing presentation, on a display of a computer device, ofa user interface comprising a table view of condition factor scoresassociated with industrial equipment, each of the condition factorscores providing a measure of a factor that impacts an overallfunctional state of the industrial equipment, each of the conditionfactor scores computed based in part on source data that includes outputdata produced by one or more sensors coupled to the industrialequipment; causing presentation, within the user interface, of an editorwindow operable to edit a condition factor score from among thecondition factor scores; receiving, via the editor window, a user editto the condition factor score; and updating, by one or more hardwareprocessors, the table view of condition factor scores based on the useredit, the updating of the table view including updating the conditionfactor score in accordance with the user edit.